package com.ctshk.rpc.custom.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.ctshk.common.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author xuhui
 * @since 1/20/2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_customized_trip_schedule")
@ApiModel(value="CustomizedTripSchedule", description="团期列表")
public class CustomizedTripSchedule extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "团号")
    private String tripNumber;

    @ApiModelProperty(value = "出境类型")
    private Integer departType;

    @ApiModelProperty(value = "询价单ID")
    private Long inquiryId;

    @ApiModelProperty(value = "询价单标题")
    private String inquiryTitle;

    @ApiModelProperty(value = "询价单号")
    private String inquiryNumber;

    @ApiModelProperty(value = "报价单ID")
    private Long quotationId;

    @ApiModelProperty(value = "报价单标题")
    private String quotationTitle;

    @ApiModelProperty(value = "报价单单号")
    private String quotationNumber;

    @ApiModelProperty(value = "大客户ID")
    private Long bigClientId;

    @ApiModelProperty(value = "大客户名称")
    private String bigClientName;

    @ApiModelProperty(value = "报价方式(1 自由报价2 行程报价)")
    private Integer quotationType;

    @ApiModelProperty(value = "团费类型冗余(1 人均,2 服务费)")
    private Integer groupFeeType;

    @ApiModelProperty(value = "团队状态(1 开售 2 不成团 3 已成团 4 已完团 5 已保存)")
    private Integer groupStatus;

    @ApiModelProperty(value = "行程名称")
    private String name;

    @ApiModelProperty(value = "行程副标题")
    private String subtitle;

    @ApiModelProperty(value = "旅游组别主数据ID")
    private Long tourTypeId;

    @ApiModelProperty(value = "旅游组别名称")
    private String tourTypeName;

    @ApiModelProperty(value = "旅行团种类主数据ID")
    private Long groupTypeId;

    @ApiModelProperty(value = "旅行团种类名称")
    private String groupTypeName;

    @ApiModelProperty(value = "团队性质主数据ID")
    private Long groupNatureId;

    @ApiModelProperty(value = "团队性质名称")
    private String groupNatureName;

    @ApiModelProperty(value = "目的地主数据ID")
    private Long destinationId;

    @ApiModelProperty(value = "目的地")
    private String destination;

    @ApiModelProperty(value = "出发地主数据ID")
    private Long departurePlaceId;

    @ApiModelProperty(value = "出发地")
    private String departurePlace;

    @ApiModelProperty(value = "出发日期")
    private LocalDateTime departureDate;

    @ApiModelProperty(value = "出行天数")
    private Integer travelDays;

    @ApiModelProperty(value = "含几晚")
    private Integer nightDays;

    @ApiModelProperty(value = "负责人ID")
    private Long chargePersonId;

    @ApiModelProperty(value = "负责人员工号")
    private String chargePersonNumber;

    @ApiModelProperty(value = "负责人姓名")
    private String chargePersonName;

    @ApiModelProperty(value = "OP的ID")
    private Long opId;

    @ApiModelProperty(value = "OP的员工号")
    private String opNumber;

    @ApiModelProperty(value = "OP姓名")
    private String opName;

    @ApiModelProperty(value = "是否需要保险")
    private Integer needInsurance;

    @ApiModelProperty(value = "是否需要签证")
    private Integer needVisa;

    @ApiModelProperty(value = "内部摘要")
    private String internalSummary;

    @ApiModelProperty(value = "接待须知")
    private String receptionInstructions;

    @ApiModelProperty(value = "顾客须知")
    private String customerRights;

    @ApiModelProperty(value = "门市通知")
    private String shopNotice;

    @ApiModelProperty(value = "最小定金")
    private BigDecimal minDeposit;

    @ApiModelProperty(value = "交余数天数")
    private Integer deliveryDays;

    @ApiModelProperty(value = "完团审批状态")
    private Integer approvalStatus;

    @ApiModelProperty(value = "审批ID")
    private Long approvalId;

    @ApiModelProperty(value = "财务锁定状态（0 未锁定 1 已锁定）")
    private Integer lockStatus;

    @ApiModelProperty(value = "创建人ID")
    private Long createId;

    @ApiModelProperty(value = "修改人ID")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

}